One or more aspects of the present application relate, in general, to data processing, and in particular, to multi-addressable register files and processing associated therewith.
High-performance processors support multimedia processing using single instruction multiple data (SIMD) techniques for exploiting instruction-level parallelism in programs. That is, SIMD techniques are used for executing more than one operation at a time. These processors contain multiple functional units, some of which are directed to the execution of scalar data and some of which are grouped for the processing of structured SIMD vector data. SIMD data streams are used to represent multimedia data types, such as color information, using, for example, the RGB format by encoding the red, green, and blue components in the structured data type, or coordinate information, by encoding position as the quadruple (x, y, z, w).
Processors designed for processing multimedia data have been implemented by augmenting an existing scalar processor implementation, for instance by adding a SIMD unit, the SIMD unit itself including multiple functional units (i.e., fixed point units and floating point units) mirroring resources available for the processing of scalar data types, and replicating each functional unit type for the number of structured elements to be supported by the SIMD architecture.
Processors that support multimedia processing, as well as other processing, can process data of different types. However, facilities are to be provided to manage such processing.